[IA64] xen: remove dom0vp_populate_physmap hypercall
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Fri, 12 May 2006 14:49:40 +0000 (08:49 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Fri, 12 May 2006 14:49:40 +0000 (08:49 -0600)
remove populate_physmap hypercall which becomes unncesarry because
XENMEM op is fully supported.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/xen/dom0_ops.c
xen/arch/ia64/xen/domain.c
xen/include/asm-ia64/domain.h
xen/include/public/arch-ia64.h

index 55dde81eb9d223e826efaf2d8107a02db391ec17..7066ab8e02270410d4b935dd41b13da9b638de87 100644 (file)
@@ -264,10 +264,6 @@ do_dom0vp_op(unsigned long cmd,
         }
         ret = get_gpfn_from_mfn(arg0);
         break;
-    case IA64_DOM0VP_populate_physmap:
-        ret = dom0vp_populate_physmap(d, arg0,
-                                      (unsigned int)arg1, (unsigned int)arg2);
-        break;
     case IA64_DOM0VP_zap_physmap:
         ret = dom0vp_zap_physmap(d, arg0, (unsigned int)arg1);
         break;
index f02e8aa4d2ce377f39a29dbd16e25c7a229020ee..9b2da4da119843bb65e6070ace565b4beb35e8e8 100644 (file)
@@ -982,66 +982,6 @@ unsigned long lookup_domain_mpa(struct domain *d, unsigned long mpaddr)
 }
 
 #ifdef CONFIG_XEN_IA64_DOM0_VP
-//XXX SMP
-unsigned long
-dom0vp_populate_physmap(struct domain *d, unsigned long gpfn,
-                        unsigned int extent_order, unsigned int address_bits)
-{
-    unsigned long ret = 0;
-    int flags = 0;
-    unsigned long mpaddr = gpfn << PAGE_SHIFT;
-    unsigned long extent_size = 1UL << extent_order;
-    unsigned long offset;
-    struct page_info* page;
-    unsigned long physaddr;
-
-    if (extent_order > 0 && !multipage_allocation_permitted(d)) {
-        ret = -EINVAL;
-        goto out;
-    }
-
-    if (gpfn + (1 << extent_order) < gpfn) {
-        ret = -EINVAL;
-        goto out;
-    }
-    if (gpfn > d->max_pages || gpfn + (1 << extent_order) > d->max_pages) {
-        ret = -EINVAL;
-        goto out;
-    }
-    if ((extent_size << PAGE_SHIFT) < extent_size) {
-        ret = -EINVAL;
-        goto out;
-    }
-
-    //XXX check address_bits and set flags = ALLOC_DOM_DMA if needed
-
-    // check the rage is not populated yet.
-    //XXX loop optimization
-    for (offset = 0; offset < extent_size << PAGE_SHIFT; offset += PAGE_SIZE) {
-        if (____lookup_domain_mpa(d, mpaddr + offset) != INVALID_MFN) {
-            ret = -EBUSY;
-            goto out;
-        }
-    }
-
-    page = alloc_domheap_pages(d, extent_order, flags);
-    if (page == NULL) {
-        ret = -ENOMEM;
-        DPRINTK("Could not allocate order=%d extent: id=%d flags=%x\n",
-                extent_order, d->domain_id, flags);
-        goto out;
-    }
-
-    //XXX loop optimization
-    physaddr = page_to_maddr(page);
-    for (offset = 0; offset < extent_size << PAGE_SHIFT; offset += PAGE_SIZE) {
-        assign_domain_page(d, mpaddr + offset, physaddr + offset);
-    }
-
-out:
-    return ret;
-}
-
 //XXX SMP
 unsigned long
 dom0vp_zap_physmap(struct domain *d, unsigned long gpfn,
index 2b43419540aba44f33d8a3739529cdc7d5fa66da..858f8243679bebb73d141ebe9e67a0112499e3e6 100644 (file)
@@ -126,7 +126,6 @@ void assign_domain_io_page(struct domain *d, unsigned long mpaddr, unsigned long
 unsigned long assign_domain_mmio_page(struct domain *d, unsigned long mpaddr, unsigned long size);
 unsigned long assign_domain_mach_page(struct domain *d, unsigned long mpaddr, unsigned long size);
 unsigned long do_dom0vp_op(unsigned long cmd, unsigned long arg0, unsigned long arg1, unsigned long arg2, unsigned long arg3);
-unsigned long dom0vp_populate_physmap(struct domain *d, unsigned long gpfn, unsigned int extent_order, unsigned int address_bits);
 unsigned long dom0vp_zap_physmap(struct domain *d, unsigned long gpfn, unsigned int extent_order);
 unsigned long dom0vp_add_physmap(struct domain* d, unsigned long gpfn, unsigned long mfn, unsigned int flags, domid_t domid);
 #endif
index a37de91c0e2c0ab7e135eeb88bf6d93c175ad34c..36f161abfe8c904fa177756d1cdd4c2ce83b53cf 100644 (file)
@@ -349,10 +349,6 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
                                                 // to the corresponding
                                                 // pseudo physical page frame
                                                 // number of the caller domain
-#define IA64_DOM0VP_populate_physmap    16      // allocate machine-contigusous
-                                                // memory region and
-                                                // map it to pseudo physical
-                                                // address
 #define IA64_DOM0VP_zap_physmap         17      // unmap and free pages
                                                 // contained in the specified
                                                 // pseudo physical region